package com.ellis.ellisSpringboot02.controller;

import com.ellis.ellisSpringboot02.entity.dto.UserDto;
import com.ellis.ellisSpringboot02.entity.vo.ResultVo;
import com.ellis.ellisSpringboot02.entity.vo.UserVo;
import com.ellis.ellisSpringboot02.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 用户控制层
 */
@RestController
@RequestMapping("/user")
public class UserController {
    //引入用户服务层（Service）
    @Autowired
    UserService userService;
    /**
     * 获取用户数量
     * @return
     */
    @GetMapping("/getUserNums")
    public String getUserNums(){
        return userService.getUserNums();
    }

    /**
     * 通过用户id来获取用户详情
     * @return
     */
    @GetMapping("/getUserDetails")
    public UserVo getUserDetails(Integer id){
        return userService.getUserDetails(id);
    }

    /**
     * 新增用户信息
     */
    @PostMapping("/setUserInfo")
    public ResultVo setUserInfo(@RequestBody(required = false) UserDto userDto){
        return userService.setUserInfo(userDto);
    }

    /**
     * 更新用户信息的方法
     */

    @PutMapping("/updateUserInfo")
    public ResultVo updateUserInfo(@RequestBody(required = false) UserDto userDto){
        return userService.updateUserInfo(userDto);
    }

    /**
     * 删除用户信息的方法
     */
    @DeleteMapping("/deleteUserInfo")
    public ResultVo deleteUserInfo(Integer id){
        return userService.deleteUserInfo(id);
    }
}
